#!/bin/bash

# 检查是否安装了 lsof
if ! command -v lsof &> /dev/null; then
    echo "请先安装 lsof"
    exit 1
fi

# 定义端口号
PORT=3000

# 查找并关闭占用端口的进程
pid=$(lsof -t -i:${PORT})
if [ ! -z "$pid" ]; then
    echo "发现端口 ${PORT} 被占用，进程 PID: ${pid}"
    echo "正在关闭旧进程..."
    kill -9 $pid
    sleep 1
fi

# 启动新进程
echo "正在启动服务..."
cd "$(dirname "$0")/.."
node src/server.js &

# 等待服务启动
sleep 2

# 检查服务是否成功启动
if lsof -i:${PORT} > /dev/null; then
    echo "服务已成功启动在端口 ${PORT}"
    echo "可以通过 http://localhost:${PORT} 访问"
else
    echo "服务启动失败，请检查日志"
    exit 1
fi 